﻿''' <summary>
''' 常规气象数据的结构，以AERMET中的气象数据单位为准
''' </summary>
''' <remarks></remarks>
<Serializable()> Public Class StructureGeneralMet

    Implements ICloneable

    ''' <summary>
    ''' 时间
    ''' </summary>
    ''' <remarks></remarks>
    Public m_DateTime As DateTime '日期
    ''' <summary>
    ''' 风向，单位度。最小为0，最大值为36,默认值99。单位10度。在AERMET中是每10度一个值，在计算时要进行转换。在AERMET中0表示静风，36表示N。在国内的A文件中0表示N方向。为了方便，把80定义为静风。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_Vane As Double = 99
    ''' <summary>
    ''' 风速，m/s*10。最小值0，最大值500，默认值-9999。标准单位m/s
    ''' </summary>
    ''' <remarks></remarks>
    Public m_WindSpeed As Integer = -9999
    ''' <summary>
    ''' 总云量，十分制。最小值0，最大值10，默认值99。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_TotalCloud As Integer = 99
    ''' <summary>
    ''' 低云量，十分制。最小值0，最大值10，默认值99。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_LowCloud As Integer = 99
    ''' <summary>
    ''' 干球温度，单位摄氏度*10。最小值-300，最大值350。默认值999
    ''' </summary>
    ''' <remarks></remarks>
    Public m_DryTemp As Integer = 999
    '以下是可选数据------------------------------------------
    ''' <summary>
    ''' 温球温度，单位摄氏度*10。最小值-650，最大值350。默认值999
    ''' </summary>
    ''' <remarks></remarks>
    Public m_WetTemp As Integer = 999
    ''' <summary>
    ''' 露点温度，单位摄氏度*10。最小值-650，最大值350。默认值999
    ''' </summary>
    ''' <remarks></remarks>
    Public m_DewTemp As Integer = 999
    ''' <summary>
    ''' 相对湿度，单位%。最小值0，最大值100，默认值999
    ''' </summary>
    ''' <remarks></remarks>
    Public m_Humidity As Integer = 999
    ''' <summary>
    ''' 降水量，单位mm/h*1000。最小值0，最大值25400，默认值-9。国际单位为mm/h
    ''' </summary>
    ''' <remarks></remarks>
    Public m_Rainfall As Integer = -9
    ''' <summary>
    ''' 降水类型。AERMET中无此项
    ''' </summary>
    ''' <remarks></remarks>
    Public m_RainType As Integer
    ''' <summary>
    ''' 海平面气压，millibars*10，即毫巴*1000，最小值为9000，最大值为10999，默认值为99999。国际单位hPa(百帕)。气压为760毫米时相当于1013.25毫巴，这个气压值称为一个标准大气。1毫巴相当于100Pa。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_SeaPressure As Integer = 99999
    ''' <summary>
    ''' 观测站地面气压，millibars*10，即毫巴*10，最小值为9000，最大值为10999，默认值为99999。国际单位hPa(百帕)。气压为760毫米时相当于1013.25毫巴，这个气压值称为一个标准大气。1毫巴相当于100Pa。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_NowPressure As Integer = 99999
    ''' <summary>
    ''' 云底高度，km*10。最大值为300，最小值为0。默认值为999。国际单位为km
    ''' </summary>
    ''' <remarks></remarks>
    Public m_CloudHeight As Integer = 999
    ''' <summary>
    ''' '水平能见度，单位km*10。最大值为1640，最小值为0。默认值为99999。国际单位为km
    ''' </summary>
    ''' <remarks></remarks>
    Public m_Visibility As Integer = 99999

    '以下是其它数据-----------------------------------------------------
    ''' <summary>
    ''' 1层云层状况，最小值0，最大值300，默认值09999。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_ALC1 As Integer = 9999
    ''' <summary>
    ''' 2层云层状况，最小值0，最大值300，默认值09999。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_ALC2 As Integer = 9999
    ''' <summary>
    ''' 3层云层状况，最小值0，最大值300，默认值09999。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_ALC3 As Integer = 9999
    ''' <summary>
    ''' 4层云层状况，最小值0，最大值300，默认值09999。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_ALC4 As Integer = 9999
    ''' <summary>
    ''' 5层云层状况，最小值0，最大值300，默认值09999。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_ALC5 As Integer = 9999
    ''' <summary>
    ''' 6层云层状况，最小值0，最大值300，默认值09999。
    ''' </summary>
    ''' <remarks></remarks>
    Public m_ALC6 As Integer = 9999
    ''' <summary>
    ''' 天气代码(临近地)，最小值9292，最大值98300，默认值9999
    ''' </summary>
    ''' <remarks></remarks>
    Public m_PWVC As Integer = 9999
    ''' <summary>
    ''' 天气代码，最小值9292，最大值98300，默认值9999
    ''' </summary>
    ''' <remarks></remarks>
    Public m_PWTH As Integer = 9999
    ''' <summary>
    ''' ASOS天气，十分制，最小值0，最大值10，默认值99
    ''' </summary>
    ''' <remarks></remarks>
    Public m_ASKY As Integer = 99
    ''' <summary>
    ''' ASOS高度，最小值0，最大值888，默认值999
    ''' </summary>
    ''' <remarks></remarks>
    Public m_ACHT As Integer = 999
  


    Public Function Clone() As Object Implements System.ICloneable.Clone
        Dim objCopy As New StructureGeneralMet
        objCopy.m_DateTime = Me.m_DateTime
        objCopy.m_Vane = Me.m_Vane
        objCopy.m_WindSpeed = Me.m_WindSpeed
        objCopy.m_TotalCloud = Me.m_TotalCloud
        objCopy.m_LowCloud = Me.m_LowCloud
        objCopy.m_DryTemp = Me.m_DryTemp
        objCopy.m_WetTemp = Me.m_WetTemp
        objCopy.m_DewTemp = Me.m_DewTemp
        objCopy.m_Humidity = Me.m_Humidity
        objCopy.m_Rainfall = Me.m_Rainfall
        objCopy.m_RainType = Me.m_RainType
        objCopy.m_SeaPressure = Me.m_SeaPressure
        objCopy.m_NowPressure = Me.m_NowPressure
        objCopy.m_CloudHeight = Me.m_CloudHeight
        objCopy.m_Visibility = Me.m_Visibility
        objCopy.m_ALC1 = Me.m_ALC1
        objCopy.m_ALC2 = Me.m_ALC2
        objCopy.m_ALC3 = Me.m_ALC3
        objCopy.m_ALC4 = Me.m_ALC4
        objCopy.m_ALC5 = Me.m_ALC5
        objCopy.m_ALC6 = Me.m_ALC6
        objCopy.m_PWVC = Me.m_PWVC
        objCopy.m_PWTH = Me.m_PWTH
        objCopy.m_ASKY = Me.m_ASKY
        objCopy.m_ACHT = Me.m_ACHT
        Return objCopy
    End Function
End Class
